As an example of a communication system in which components transferring data and a component controlling a network are separately included, a communication system in which switches transfer data and a control apparatus (controller) controls the network is known. Examples of a protocol realizing such communication system include OpenFlow (Non-Patent Document 1). In OpenFlow, communication is deemed as an end-to-end flow, and routing control and the like are executed for each flow. The switches, each of which functioning as a transfer node, include secure channels for communication with the controller and operate in accordance with OpenFlow tables added or specified by the controller as needed. In the flow tables, a group of: rules (Flowkey) checked against a packet header; actions (Actions) defining process contents; and flow statistics information (Stats) are defined for each flow.
FIG. 8 schematically illustrates a configuration of a communication system based on OpenFlow. With reference to FIG. 8, the communication system includes a control apparatus (controller) 110 and a plurality of switches S, A, X, and D. The control apparatus 110 controls paths, and the switches S, A, X, and D transfer the respective packets.
A packet transfer process of OpenFlow will be described with reference to FIG. 8. When the first packet included in a flow arrives at a switch (the switch S in FIG. 8) located at an input port of the communication system, the switch S sends the packet to the control apparatus 110. The control apparatus 110 determines a path for the flow and writes a forwarding entry corresponding to the flow in the switches (switches S, A, X, and D) on the path. Subsequent packets arriving at the communication system are transferred in accordance with the forwarding entry written in the switches S, A, X, and D.
Since the control apparatus 110 determines all paths, the control apparatus 110 holds all the necessary information for changing of paths (path determination). In path calculation in OpenFlow, a different policy can be used for each flow. However, as an example, the following description will be made assuming that all flows are calculated based on a single policy. In addition, as an example, the following description will be made assuming that each path is the shortest path between two nodes.
[Non-Patent Document 1]
    N. McKeown et al., “Openflow: Enableing Innovation in Campus Networks,”<URL:http://www.openflowswitch.org/documents/openflow-wp-latest.pdf>